package enum

const (
	ClientTypeForIdp     = "idp" // 客户端类型
	TcpHeartbeatInterval = 60    // 心跳间隔，单位秒
	PluginFolder         = "./plugin"
	GuarderName          = "guarder.exe" // 守卫插件的名称
)

// base instruct
const (
	Heartbeat       = iota + 1 // 心跳
	ByteTransfer               // 字节传输，非必要不要直接使用这个指令，它用来在服务端和客户端之间直接使用字节传输数据，也可能是文件。因为程序是服务，同时他能直接读写字节，理论上它可以操作除驱动外的所有文件
	HandsUp                    // 举手
	SetDeviceId                // 设置设备ID，当举手成功后需要执行的逻辑
	StartGuarder               // 启动守卫进程
	StopGuarder                // 结束守卫进程
	ExecutePlugin              // 执行插件
	AckMsg                     // 信息上报的ack确认，消息体为被确认的日志ID
	UpdateAllPolicy            // 全量更新策略
	ExecutePolicy              // 执行策略
	DisablePolicy              // 停用某条策略
	UploadPolicy               // 上传本地策略
	SetLogLv                   // 设置日志级别
	LoadCount                  // 负载信息统计
	ClearDB                    // 清理数据库
)

// 消息类型
const (
	MsgForHeartbeat    = iota + 100
	MsgForByteTransfer // 字节传输，非必要不要直接使用这个指令，它用来在服务端和客户端之间直接使用字节传输数据，也可能是文件
	MsgForHandsUp
	MsgForGetDeviceId
	MsgForExecutePlugin
	MsgForExecutePolicy
	MsgForUpdateAllPolicy
	MsgForUploadPolicy
	MsgForLoadCount // 负载信息统计
)
